package com.ease.model.system;

import java.util.Date;

import com.ease.model.system.type.AuditLogSeverityType;

public class AuditLog extends SystemModel {

	/**
	 *
	 */
	private static final long serialVersionUID = -6268586080584892145L;

	public static final String Column_STARTTIME = "STARTTIME";
	/**
	 *
	 */
	private AuditLogSeverityType auditLogSeverityType;

	/**
	 *
	 */
	private String username;
	/**
	 *
	 */
	private Date beginTime;

	/**
	 *
	 */
	private Date endTime;
	/**
	 *
	 */
	// private Date loginTime;

	/**
	 *
	 */
	private long userId;

	/**
	 *
	 */
	// TODO userEndpoint
	private String userHostname;

	/**
	 *
	 */
	private String userIpAddress;

	/**
	 *
	 */
	// TODO serverEndpoint
	private String serverHostname;

	/**
	 *
	 */
	private String serverIpAddress;

	/**
	 *
	 */
	private String interfaceOperation;

	/**
	 *
	 */
	private String targetImplementation;

	/**
	 *
	 */
	private String message;

	/**
	 * @return the userId
	 */
	public long getUserId() {
		return userId;
	}

	/**
	 * @param userId
	 *            the userId to set
	 */
	public void setUserId(long userId) {
		this.userId = userId;
	}

	/**
	 * @return the userHostname
	 */
	public String getUserHostname() {
		return userHostname;
	}

	/**
	 * @param userHostname
	 *            the userHostname to set
	 */
	public void setUserHostname(String userHostname) {
		this.userHostname = userHostname;
	}

	/**
	 * @return the serverHostname
	 */
	public String getServerHostname() {
		return serverHostname;
	}

	/**
	 * @param serverHostname
	 *            the serverHostname to set
	 */
	public void setServerHostname(String serverHostname) {
		this.serverHostname = serverHostname;
	}

	/**
	 * @return the message
	 */
	public String getMessage() {
		return message;
	}

	/**
	 * @param message
	 *            the message to set
	 */
	public void setMessage(String message) {
		this.message = message;
	}

	/**
	 * @return the beginTime
	 */
	// @JSON(format = DATATIME_FORMAT)
	// @JsonSerialize(using = DatetimeSerializer.class)
	public Date getBeginTime() {
		return beginTime;
	}

	/**
	 * @param beginTime
	 *            the beginTime to set
	 */
	public void setBeginTime(Date beginTime) {
		this.beginTime = beginTime;
	}

	/**
	 * @return the endTime
	 */
	// @JSON(format = DATATIME_FORMAT)
	// @JsonSerialize(using = DatetimeSerializer.class)
	public Date getEndTime() {
		return endTime;
	}

	/**
	 * @param endTime
	 *            the endTime to set
	 */
	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	/**
	 * @return the interfaceOperation
	 */
	public String getInterfaceOperation() {
		return interfaceOperation;
	}

	/**
	 * @param interfaceOperation
	 *            the interfaceOperation to set
	 */
	public void setInterfaceOperation(String interfaceOperation) {
		this.interfaceOperation = interfaceOperation;
	}

	/**
	 * @return the targetImplementation
	 */
	public String getTargetImplementation() {
		return targetImplementation;
	}

	/**
	 * @param targetImplementation
	 *            the targetImplementation to set
	 */
	public void setTargetImplementation(String targetImplementation) {
		this.targetImplementation = targetImplementation;
	}

	// /**
	// * @return the loginTime
	// */
	// // @JSON(format = DATATIME_FORMAT)
	// // @JsonSerialize(using = DatetimeSerializer.class)
	// public Date getLoginTime() {
	// return loginTime;
	// }
	//
	// /**
	// * @param loginTime
	// * the loginTime to set
	// */
	// public void setLoginTime(Date loginTime) {
	// this.loginTime = loginTime;
	// }

	/**
	 * @return the userIpAddress
	 */
	public String getUserIpAddress() {
		return userIpAddress;
	}

	/**
	 * @param userIpAddress
	 *            the userIpAddress to set
	 */
	public void setUserIpAddress(String userIpAddress) {
		this.userIpAddress = userIpAddress;
	}

	/**
	 * @return the serverIpAddress
	 */
	public String getServerIpAddress() {
		return serverIpAddress;
	}

	/**
	 * @param serverIpAddress
	 *            the serverIpAddress to set
	 */
	public void setServerIpAddress(String serverIpAddress) {
		this.serverIpAddress = serverIpAddress;
	}

	/**
	 * @return the auditLogSeverityType
	 */
	public AuditLogSeverityType getAuditLogSeverityType() {
		return auditLogSeverityType;
	}

	/**
	 * @param auditLogSeverityType
	 *            the auditLogSeverityType to set
	 */
	public void setAuditLogSeverityType(AuditLogSeverityType auditLogSeverityType) {
		this.auditLogSeverityType = auditLogSeverityType;
	}

	/**
	 * @return the username
	 */
	public String getUsername() {
		return username;
	}

	/**
	 * @param username
	 *            the username to set
	 */
	public void setUsername(String username) {
		this.username = username;
	}

}
